Rừng ngẫu nhiên là gì? Các nghiên cứu khoa học liên quan
Rừng ngẫu nhiên là thuật toán ensemble kết hợp nhiều cây quyết định học trên mẫu bootstrap khác nhau và ngẫu nhiên chọn đặc trưng, nhằm tăng độ chính xác và giảm quá khớp. Mô hình dự báo qua bỏ phiếu đa số cho phân loại hoặc trung bình cho hồi quy, đồng thời đo lường tầm quan trọng đặc trưng để đánh giá đóng góp của từng biến.
Giới thiệu chung
Rừng ngẫu nhiên (Random Forest) là thuật toán học máy ensemble mạnh mẽ, kết hợp nhiều cây quyết định độc lập để cải thiện độ chính xác dự báo và giảm hiện tượng quá khớp (overfitting). Mỗi cây trong rừng được huấn luyện trên một tập con dữ liệu được chọn ngẫu nhiên theo phương pháp bootstrap, tạo ra sự đa dạng giữa các cây và nâng cao khả năng khái quát hóa của mô hình.
Thuật toán được công bố bởi Leo Breiman và Adele Cutler năm 2001, nhanh chóng trở thành một trong những kỹ thuật phổ biến nhất nhờ khả năng xử lý dữ liệu nhiều chiều, dữ liệu hỗn hợp (số và phân loại) và giá trị thiếu. Rừng ngẫu nhiên cũng dễ cài đặt và có rất ít tham số cần tinh chỉnh, làm cho nó trở thành lựa chọn ưu tiên trong nhiều bài toán thực tiễn.
Ứng dụng của rừng ngẫu nhiên trải dài trong y sinh (chẩn đoán bệnh, phân tích gene), tài chính (dự đoán rủi ro tín dụng, phát hiện gian lận), tiếp thị (phân khúc khách hàng, dự đoán hành vi mua sắm) và xử lý ảnh (phân loại ảnh, nhận dạng vật thể). Đặc biệt, tính năng đo lường tầm quan trọng của biến (feature importance) giúp nhà nghiên cứu hiểu rõ đóng góp của từng đặc trưng vào dự đoán cuối cùng.
- Ensemble learning: tổng hợp nhiều mô hình đơn lẻ để đạt hiệu quả cao hơn.
- Bootstrap aggregating (bagging): tăng tính ổn định và giảm phương sai.
- Bootstrap sample: mỗi cây dùng ~63% mẫu huấn luyện, 37% còn lại dùng để đánh giá OOB (out-of-bag).
Cơ sở lý thuyết: cây quyết định
Cây quyết định là mô hình phân loại hoặc hồi quy dạng cây, trong đó mỗi node nội tại biểu diễn một kiểm định trên một đặc trưng, và mỗi lá cho kết quả đầu ra (nhãn hoặc giá trị). Cây xây dựng tuần tự, phân chia dữ liệu ở mỗi bước sao cho impurity (độ hỗn loạn) trong mỗi nhánh con giảm tối đa.
Hai tiêu chí impurity phổ biến là Gini impurity và entropy. Gini impurity được tính theo công thức:
với pi là xác suất mẫu thuộc lớp i. Entropy được tính bằng:
Cây đơn lẻ có ưu điểm trực quan, dễ giải thích và xử lý dữ liệu thiếu, nhưng rất nhạy với nhiễu và dễ xảy ra quá khớp khi độ sâu lớn hoặc số mẫu huấn luyện ít.
Tiêu chí | Công thức | Phạm vi |
---|---|---|
Gini | 1 - ∑ pi2 | 0 – (1 - 1/C) |
Entropy | -∑ pi log2(pi) | 0 – log2(C) |
Nguyên lý rừng ngẫu nhiên
Rừng ngẫu nhiên khai thác hai cơ chế chính để giảm phương sai và tăng tính đa dạng giữa các cây: bagging (bootstrap aggregating) và random feature selection. Trước tiên, với bagging, mỗi cây được huấn luyện trên một tập con ngẫu nhiên lấy lại (bootstrap sample) từ tập dữ liệu gốc, đảm bảo mỗi cây nhìn thấy dữ liệu hơi khác biệt.
Thứ hai, tại mỗi node phân chia, thay vì xem xét toàn bộ đặc trưng, rừng ngẫu nhiên chọn ngẫu nhiên một tập con kích thước m của p đặc trưng ban đầu và chỉ lựa chọn ngưỡng phân chia tốt nhất trên tập con đó. Cơ chế này giúp giảm tương quan giữa các cây, làm ensemble ổn định hơn.
Kết quả dự báo từ rừng ngẫu nhiên được tổng hợp bằng cách lấy bỏ phiếu đa số (majority vote) cho bài toán phân loại hoặc trung bình (averaging) cho bài toán hồi quy. Nhờ số lượng cây lớn và tính độc lập tương đối, mô hình có độ chính xác cao và ít bị ảnh hưởng bởi đầu vào nhiễu.
- Bagging: mỗi cây dùng bootstrap sample khác nhau.
- Random feature selection: giảm tương quan giữa các cây.
- Aggregation: voting cho classification, averaging cho regression.
Các tham số chính
Rừng ngẫu nhiên có một số tham số quan trọng cần điều chỉnh để đạt hiệu quả tối ưu. n_estimators xác định số lượng cây trong rừng; tăng số cây thường làm giảm phương sai nhưng tăng chi phí tính toán. max_features quy định số đặc trưng ngẫu nhiên xem xét tại mỗi node, thường dùng √p cho phân loại và p/3 cho hồi quy.
Để kiểm soát độ sâu và kích thước cây, các tham số max_depth, min_samples_split và min_samples_leaf được sử dụng. max_depth giới hạn độ sâu tối đa của cây; min_samples_split là số mẫu tối thiểu để node được phân chia; min_samples_leaf là số mẫu tối thiểu cần thiết cho mỗi lá.
Tham số | Giá trị mặc định | Mô tả |
---|---|---|
n_estimators | 100 | Số lượng cây trong rừng |
max_features | √p (classification) | Số đặc trưng xem xét mỗi node |
max_depth | None | Chiều sâu tối đa của cây |
min_samples_split | 2 | Số mẫu tối thiểu để phân chia node |
min_samples_leaf | 1 | Số mẫu tối thiểu tại mỗi lá |
Việc tinh chỉnh tham số thường thực hiện qua grid search hoặc random search kết hợp cross-validation, đồng thời theo dõi OOB error để đánh giá mô hình mà không cần tập kiểm tra riêng.
Đào tạo và đánh giá
Quá trình huấn luyện rừng ngẫu nhiên bắt đầu với việc xây dựng nhiều cây quyết định độc lập trên các tập bootstrap sample khác nhau. Mỗi cây được phép phát triển gần tối đa (unpruned) hoặc giới hạn độ sâu tùy theo tham số max_depth. Sau khi huấn luyện, ta sử dụng tập dữ liệu out-of-bag (OOB) – khoảng 37% mẫu không xuất hiện trong bootstrap sample của cây – để ước tính lỗi tổng thể mà không cần tách riêng tập kiểm thử.
OOB error được tính trung bình qua tất cả cây: mỗi mẫu được dự báo bởi những cây mà nó không thuộc bootstrap sample, kết quả bỏ phiếu hoặc lấy trung bình. OOB error thường rất sát với lỗi trên tập kiểm thử độc lập, giúp tiết kiệm dữ liệu https://scikit-learn.org/stable/modules/ensemble.html#forest.
Ngoài OOB error, cross-validation kết hợp grid search hoặc random search được sử dụng để tinh chỉnh các tham số như n_estimators
, max_features
, min_samples_split
. Đối với bài toán phân loại, các chỉ số độ chính xác (accuracy), AUC–ROC và F1-score được tính; với hồi quy, dùng RMSE (root mean squared error) và R² (coefficient of determination) để đánh giá mô hình.
Ưu điểm và hạn chế
Ưu điểm nổi bật của rừng ngẫu nhiên là khả năng kháng nhiễu và chống overfitting rất tốt nhờ bagging và random feature selection. Mô hình xử lý dữ liệu hỗn hợp (số, phân loại), giá trị thiếu (missing values) và dữ liệu nhiều chiều hiệu quả mà không cần tiền xử lý phức tạp.
- Độ ổn định cao: kết quả ít bị biến động khi thêm dữ liệu nhiễu.
- Ít cần tinh chỉnh: tham số mặc định thường cho kết quả đủ tốt.
- Ước lượng tầm quan trọng đặc trưng: cung cấp ranking feature importance dựa trên giảm impurity hoặc permutation importance.
Tuy vậy, rừng ngẫu nhiên cũng có hạn chế. Mô hình phức tạp, bao gồm hàng trăm đến hàng ngàn cây, tiêu tốn bộ nhớ và thời gian tính toán, đặc biệt khi chiều sâu và số cây tăng. Việc giải thích (interpretability) kém hơn so với một cây đơn lẻ, dù có thể dùng SHAP hoặc LIME để hiểu đóng góp từng feature.
Đặc điểm | Ưu điểm | Hạn chế |
---|---|---|
Chống overfitting | Cao | Phương sai giảm, nhưng bias không cải thiện |
Hiệu năng | Chính xác | Tốn thời gian và bộ nhớ |
Giải thích | Được hỗ trợ qua feature importance | Khó trực quan như cây đơn |
Ứng dụng thực tiễn
Trong y sinh, rừng ngẫu nhiên được áp dụng phân loại hình ảnh X-quang, MRI hoặc biểu đồ gene để dự đoán bệnh lý với hiệu suất cao. Ví dụ, mô hình RF đạt AUC trên 0.9 trong phân loại ung thư phổi từ CT scan https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6776117/.
Trong tài chính, RF hỗ trợ dự đoán rủi ro tín dụng, phát hiện gian lận giao dịch thẻ tín dụng qua các đặc trưng hành vi với tỉ lệ phát hiện gian lận lên đến 85–95% https://www.sciencedirect.com/science/article/pii/S0957417418308539.
- Tiếp thị: phân khúc khách hàng theo giá trị trọn đời (CLV), cải thiện tỷ lệ chuyển đổi.
- Khoa học môi trường: dự báo chất lượng không khí, ô nhiễm dựa trên dữ liệu đa biến số.
- Sản xuất: phát hiện lỗi sản phẩm trên dây chuyền qua cảm biến IoT, hướng tới bảo trì dự báo.
Mở rộng và biến thể
Extremely Randomized Trees (ExtraTrees) là biến thể chọn ngưỡng phân chia ngẫu nhiên thay vì tìm giá trị tốt nhất, giảm phương sai và tốc độ đào tạo nhanh hơn https://scikit-learn.org/stable/modules/ensemble.html#extremely-randomized-trees.
Random Forest Proximity sử dụng ma trận láng giềng từ rừng để đo khoảng cách giữa các mẫu, hỗ trợ clustering và phát hiện outlier. Ngoài ra, mô hình Quantile Regression Forests ước lượng phân phối điều kiện của đầu ra, cho khả năng đưa ra khoảng tin cậy (prediction intervals).
Hướng nghiên cứu tương lai
Kết hợp rừng ngẫu nhiên với học sâu (Deep Forest) cung cấp kiến trúc đa tầng, tận dụng khả năng trích xuất đặc trưng của RF và độ mềm dẻo của mạng neuron https://ieeexplore.ieee.org/document/8095005. Mô hình này không yêu cầu nhiều dữ liệu huấn luyện như deep neural networks.
Ứng dụng GPU và phân tán (distributed computing) để tăng tốc đào tạo và dự báo trên tập dữ liệu lớn, tích hợp với Apache Spark MLlib hoặc cuML trên nền tảng RAPIDS. Nghiên cứu cải thiện interpretability qua SHAP (SHapley Additive exPlanations) và ICE (Individual Conditional Expectation) charts giúp giải thích quyết định cụ thể.
- Deep Forest: multi-layer RF với self-training.
- Distributed RF: hadoop, spark để xử lý big data.
- Explainable AI: SHAP, LIME áp dụng cho RF.
Tài liệu tham khảo
Các bài báo, nghiên cứu, công bố khoa học về chủ đề rừng ngẫu nhiên:
Xác định hiệu quả và độ an toàn của việc điều trị bằng rituximab kết hợp với methotrexate (MTX) ở bệnh nhân viêm khớp dạng thấp (RA) hoạt động không đáp ứng đầy đủ với các liệu pháp kháng yếu tố hoại tử u (anti‐TNF) và khám phá dược động học cũng như dược lực học của rituximab ở đối tượng này.
Chúng tôi đã đánh giá hiệu quả và an toàn chính tại tuần thứ 24 ở những bệnh nhâ...
- 1
- 2
- 3
- 4
- 5
- 6
- 10